package com.xb.domain;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;
/**
 * @author zch
 */
public class User implements Serializable {
	private String host;
	private String user;
	private Object selectPriv;
	private Object insertPriv;
	private Object updatePriv;
	private Object deletePriv;
	private Object createPriv;
	private Object dropPriv;
	private Object reloadPriv;
	private Object shutdownPriv;
	private Object processPriv;
	private Object filePriv;
	private Object grantPriv;
	private Object referencesPriv;
	private Object indexPriv;
	private Object alterPriv;
	private Object showDbPriv;
	private Object superPriv;
	private Object createTmpTablePriv;
	private Object lockTablesPriv;
	private Object executePriv;
	private Object replSlavePriv;
	private Object replClientPriv;
	private Object createViewPriv;
	private Object showViewPriv;
	private Object createRoutinePriv;
	private Object alterRoutinePriv;
	private Object createUserPriv;
	private Object eventPriv;
	private Object triggerPriv;
	private Object createTablespacePriv;
	private Object sslType;
	private byte[] sslCipher;
	private byte[] x509Issuer;
	private byte[] x509Subject;
	private Integer maxQuestions;
	private Integer maxUpdates;
	private Integer maxConnections;
	private Integer maxUserConnections;
	private String plugin;
	private String authenticationString;
	private Object passwordExpired;
	private Date passwordLastChanged;
	private Short passwordLifetime;
	private Object accountLocked;
	private static final long serialVersionUID = 1L;
	public String getHost() {
		return host;
	}
	public void setHost(String host) {
		this.host = host == null ? null : host.trim();
	}
	public String getUser() {
		return user;
	}
	public void setUser(String user) {
		this.user = user == null ? null : user.trim();
	}
	public Object getSelectPriv() {
		return selectPriv;
	}
	public void setSelectPriv(Object selectPriv) {
		this.selectPriv = selectPriv;
	}
	public Object getInsertPriv() {
		return insertPriv;
	}
	public void setInsertPriv(Object insertPriv) {
		this.insertPriv = insertPriv;
	}
	public Object getUpdatePriv() {
		return updatePriv;
	}
	public void setUpdatePriv(Object updatePriv) {
		this.updatePriv = updatePriv;
	}
	public Object getDeletePriv() {
		return deletePriv;
	}
	public void setDeletePriv(Object deletePriv) {
		this.deletePriv = deletePriv;
	}
	public Object getCreatePriv() {
		return createPriv;
	}
	public void setCreatePriv(Object createPriv) {
		this.createPriv = createPriv;
	}
	public Object getDropPriv() {
		return dropPriv;
	}
	public void setDropPriv(Object dropPriv) {
		this.dropPriv = dropPriv;
	}
	public Object getReloadPriv() {
		return reloadPriv;
	}
	public void setReloadPriv(Object reloadPriv) {
		this.reloadPriv = reloadPriv;
	}
	public Object getShutdownPriv() {
		return shutdownPriv;
	}
	public void setShutdownPriv(Object shutdownPriv) {
		this.shutdownPriv = shutdownPriv;
	}
	public Object getProcessPriv() {
		return processPriv;
	}
	public void setProcessPriv(Object processPriv) {
		this.processPriv = processPriv;
	}
	public Object getFilePriv() {
		return filePriv;
	}
	public void setFilePriv(Object filePriv) {
		this.filePriv = filePriv;
	}
	public Object getGrantPriv() {
		return grantPriv;
	}
	public void setGrantPriv(Object grantPriv) {
		this.grantPriv = grantPriv;
	}
	public Object getReferencesPriv() {
		return referencesPriv;
	}
	public void setReferencesPriv(Object referencesPriv) {
		this.referencesPriv = referencesPriv;
	}
	public Object getIndexPriv() {
		return indexPriv;
	}
	public void setIndexPriv(Object indexPriv) {
		this.indexPriv = indexPriv;
	}
	public Object getAlterPriv() {
		return alterPriv;
	}
	public void setAlterPriv(Object alterPriv) {
		this.alterPriv = alterPriv;
	}
	public Object getShowDbPriv() {
		return showDbPriv;
	}
	public void setShowDbPriv(Object showDbPriv) {
		this.showDbPriv = showDbPriv;
	}
	public Object getSuperPriv() {
		return superPriv;
	}
	public void setSuperPriv(Object superPriv) {
		this.superPriv = superPriv;
	}
	public Object getCreateTmpTablePriv() {
		return createTmpTablePriv;
	}
	public void setCreateTmpTablePriv(Object createTmpTablePriv) {
		this.createTmpTablePriv = createTmpTablePriv;
	}
	public Object getLockTablesPriv() {
		return lockTablesPriv;
	}
	public void setLockTablesPriv(Object lockTablesPriv) {
		this.lockTablesPriv = lockTablesPriv;
	}
	public Object getExecutePriv() {
		return executePriv;
	}
	public void setExecutePriv(Object executePriv) {
		this.executePriv = executePriv;
	}
	public Object getReplSlavePriv() {
		return replSlavePriv;
	}
	public void setReplSlavePriv(Object replSlavePriv) {
		this.replSlavePriv = replSlavePriv;
	}
	public Object getReplClientPriv() {
		return replClientPriv;
	}
	public void setReplClientPriv(Object replClientPriv) {
		this.replClientPriv = replClientPriv;
	}
	public Object getCreateViewPriv() {
		return createViewPriv;
	}
	public void setCreateViewPriv(Object createViewPriv) {
		this.createViewPriv = createViewPriv;
	}
	public Object getShowViewPriv() {
		return showViewPriv;
	}
	public void setShowViewPriv(Object showViewPriv) {
		this.showViewPriv = showViewPriv;
	}
	public Object getCreateRoutinePriv() {
		return createRoutinePriv;
	}
	public void setCreateRoutinePriv(Object createRoutinePriv) {
		this.createRoutinePriv = createRoutinePriv;
	}
	public Object getAlterRoutinePriv() {
		return alterRoutinePriv;
	}
	public void setAlterRoutinePriv(Object alterRoutinePriv) {
		this.alterRoutinePriv = alterRoutinePriv;
	}
	public Object getCreateUserPriv() {
		return createUserPriv;
	}
	public void setCreateUserPriv(Object createUserPriv) {
		this.createUserPriv = createUserPriv;
	}
	public Object getEventPriv() {
		return eventPriv;
	}
	public void setEventPriv(Object eventPriv) {
		this.eventPriv = eventPriv;
	}
	public Object getTriggerPriv() {
		return triggerPriv;
	}
	public void setTriggerPriv(Object triggerPriv) {
		this.triggerPriv = triggerPriv;
	}
	public Object getCreateTablespacePriv() {
		return createTablespacePriv;
	}
	public void setCreateTablespacePriv(Object createTablespacePriv) {
		this.createTablespacePriv = createTablespacePriv;
	}
	public Object getSslType() {
		return sslType;
	}
	public void setSslType(Object sslType) {
		this.sslType = sslType;
	}
	public byte[] getSslCipher() {
		return sslCipher;
	}
	public void setSslCipher(byte[] sslCipher) {
		this.sslCipher = sslCipher;
	}
	public byte[] getX509Issuer() {
		return x509Issuer;
	}
	public void setX509Issuer(byte[] x509Issuer) {
		this.x509Issuer = x509Issuer;
	}
	public byte[] getX509Subject() {
		return x509Subject;
	}
	public void setX509Subject(byte[] x509Subject) {
		this.x509Subject = x509Subject;
	}
	public Integer getMaxQuestions() {
		return maxQuestions;
	}
	public void setMaxQuestions(Integer maxQuestions) {
		this.maxQuestions = maxQuestions;
	}
	public Integer getMaxUpdates() {
		return maxUpdates;
	}
	public void setMaxUpdates(Integer maxUpdates) {
		this.maxUpdates = maxUpdates;
	}
	public Integer getMaxConnections() {
		return maxConnections;
	}
	public void setMaxConnections(Integer maxConnections) {
		this.maxConnections = maxConnections;
	}
	public Integer getMaxUserConnections() {
		return maxUserConnections;
	}
	public void setMaxUserConnections(Integer maxUserConnections) {
		this.maxUserConnections = maxUserConnections;
	}
	public String getPlugin() {
		return plugin;
	}
	public void setPlugin(String plugin) {
		this.plugin = plugin == null ? null : plugin.trim();
	}
	public String getAuthenticationString() {
		return authenticationString;
	}
	public void setAuthenticationString(String authenticationString) {
		this.authenticationString = authenticationString == null ? null : authenticationString.trim();
	}
	public Object getPasswordExpired() {
		return passwordExpired;
	}
	public void setPasswordExpired(Object passwordExpired) {
		this.passwordExpired = passwordExpired;
	}
	public Date getPasswordLastChanged() {
		return passwordLastChanged;
	}
	public void setPasswordLastChanged(Date passwordLastChanged) {
		this.passwordLastChanged = passwordLastChanged;
	}
	public Short getPasswordLifetime() {
		return passwordLifetime;
	}
	public void setPasswordLifetime(Short passwordLifetime) {
		this.passwordLifetime = passwordLifetime;
	}
	public Object getAccountLocked() {
		return accountLocked;
	}
	public void setAccountLocked(Object accountLocked) {
		this.accountLocked = accountLocked;
	}
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", host=").append(host);
		sb.append(", user=").append(user);
		sb.append(", selectPriv=").append(selectPriv);
		sb.append(", insertPriv=").append(insertPriv);
		sb.append(", updatePriv=").append(updatePriv);
		sb.append(", deletePriv=").append(deletePriv);
		sb.append(", createPriv=").append(createPriv);
		sb.append(", dropPriv=").append(dropPriv);
		sb.append(", reloadPriv=").append(reloadPriv);
		sb.append(", shutdownPriv=").append(shutdownPriv);
		sb.append(", processPriv=").append(processPriv);
		sb.append(", filePriv=").append(filePriv);
		sb.append(", grantPriv=").append(grantPriv);
		sb.append(", referencesPriv=").append(referencesPriv);
		sb.append(", indexPriv=").append(indexPriv);
		sb.append(", alterPriv=").append(alterPriv);
		sb.append(", showDbPriv=").append(showDbPriv);
		sb.append(", superPriv=").append(superPriv);
		sb.append(", createTmpTablePriv=").append(createTmpTablePriv);
		sb.append(", lockTablesPriv=").append(lockTablesPriv);
		sb.append(", executePriv=").append(executePriv);
		sb.append(", replSlavePriv=").append(replSlavePriv);
		sb.append(", replClientPriv=").append(replClientPriv);
		sb.append(", createViewPriv=").append(createViewPriv);
		sb.append(", showViewPriv=").append(showViewPriv);
		sb.append(", createRoutinePriv=").append(createRoutinePriv);
		sb.append(", alterRoutinePriv=").append(alterRoutinePriv);
		sb.append(", createUserPriv=").append(createUserPriv);
		sb.append(", eventPriv=").append(eventPriv);
		sb.append(", triggerPriv=").append(triggerPriv);
		sb.append(", createTablespacePriv=").append(createTablespacePriv);
		sb.append(", sslType=").append(sslType);
		sb.append(", sslCipher=").append(sslCipher);
		sb.append(", x509Issuer=").append(x509Issuer);
		sb.append(", x509Subject=").append(x509Subject);
		sb.append(", maxQuestions=").append(maxQuestions);
		sb.append(", maxUpdates=").append(maxUpdates);
		sb.append(", maxConnections=").append(maxConnections);
		sb.append(", maxUserConnections=").append(maxUserConnections);
		sb.append(", plugin=").append(plugin);
		sb.append(", authenticationString=").append(authenticationString);
		sb.append(", passwordExpired=").append(passwordExpired);
		sb.append(", passwordLastChanged=").append(passwordLastChanged);
		sb.append(", passwordLifetime=").append(passwordLifetime);
		sb.append(", accountLocked=").append(accountLocked);
		sb.append("]");
		return sb.toString();
	}
	@Override
	public boolean equals(Object that) {
		if (this == that) {
			return true;
		}
		if (that == null) {
			return false;
		}
		if (getClass() != that.getClass()) {
			return false;
		}
		User other = (User) that;
		return (this.getHost() == null ? other.getHost() == null : this.getHost().equals(other.getHost())) && (this.getUser() == null ? other.getUser() == null : this.getUser().equals(other.getUser())) && (this.getSelectPriv() == null ? other.getSelectPriv() == null : this.getSelectPriv().equals(other.getSelectPriv())) && (this.getInsertPriv() == null ? other.getInsertPriv() == null : this.getInsertPriv().equals(other.getInsertPriv())) && (this.getUpdatePriv() == null ? other.getUpdatePriv() == null : this.getUpdatePriv().equals(other.getUpdatePriv())) && (this.getDeletePriv() == null ? other.getDeletePriv() == null : this.getDeletePriv().equals(other.getDeletePriv())) && (this.getCreatePriv() == null ? other.getCreatePriv() == null : this.getCreatePriv().equals(other.getCreatePriv())) && (this.getDropPriv() == null ? other.getDropPriv() == null : this.getDropPriv().equals(other.getDropPriv())) && (this.getReloadPriv() == null ? other.getReloadPriv() == null : this.getReloadPriv().equals(other.getReloadPriv())) && (this.getShutdownPriv() == null ? other.getShutdownPriv() == null : this.getShutdownPriv().equals(other.getShutdownPriv())) && (this.getProcessPriv() == null ? other.getProcessPriv() == null : this.getProcessPriv().equals(other.getProcessPriv())) && (this.getFilePriv() == null ? other.getFilePriv() == null : this.getFilePriv().equals(other.getFilePriv())) && (this.getGrantPriv() == null ? other.getGrantPriv() == null : this.getGrantPriv().equals(other.getGrantPriv())) && (this.getReferencesPriv() == null ? other.getReferencesPriv() == null : this.getReferencesPriv().equals(other.getReferencesPriv())) && (this.getIndexPriv() == null ? other.getIndexPriv() == null : this.getIndexPriv().equals(other.getIndexPriv())) && (this.getAlterPriv() == null ? other.getAlterPriv() == null : this.getAlterPriv().equals(other.getAlterPriv())) && (this.getShowDbPriv() == null ? other.getShowDbPriv() == null : this.getShowDbPriv().equals(other.getShowDbPriv())) && (this.getSuperPriv() == null ? other.getSuperPriv() == null : this.getSuperPriv().equals(other.getSuperPriv())) && (this.getCreateTmpTablePriv() == null ? other.getCreateTmpTablePriv() == null : this.getCreateTmpTablePriv().equals(other.getCreateTmpTablePriv())) && (this.getLockTablesPriv() == null ? other.getLockTablesPriv() == null : this.getLockTablesPriv().equals(other.getLockTablesPriv())) && (this.getExecutePriv() == null ? other.getExecutePriv() == null : this.getExecutePriv().equals(other.getExecutePriv())) && (this.getReplSlavePriv() == null ? other.getReplSlavePriv() == null : this.getReplSlavePriv().equals(other.getReplSlavePriv())) && (this.getReplClientPriv() == null ? other.getReplClientPriv() == null : this.getReplClientPriv().equals(other.getReplClientPriv())) && (this.getCreateViewPriv() == null ? other.getCreateViewPriv() == null : this.getCreateViewPriv().equals(other.getCreateViewPriv())) && (this.getShowViewPriv() == null ? other.getShowViewPriv() == null : this.getShowViewPriv().equals(other.getShowViewPriv())) && (this.getCreateRoutinePriv() == null ? other.getCreateRoutinePriv() == null : this.getCreateRoutinePriv().equals(other.getCreateRoutinePriv())) && (this.getAlterRoutinePriv() == null ? other.getAlterRoutinePriv() == null : this.getAlterRoutinePriv().equals(other.getAlterRoutinePriv())) && (this.getCreateUserPriv() == null ? other.getCreateUserPriv() == null : this.getCreateUserPriv().equals(other.getCreateUserPriv())) && (this.getEventPriv() == null ? other.getEventPriv() == null : this.getEventPriv().equals(other.getEventPriv())) && (this.getTriggerPriv() == null ? other.getTriggerPriv() == null : this.getTriggerPriv().equals(other.getTriggerPriv())) && (this.getCreateTablespacePriv() == null ? other.getCreateTablespacePriv() == null : this.getCreateTablespacePriv().equals(other.getCreateTablespacePriv())) && (this.getSslType() == null ? other.getSslType() == null : this.getSslType().equals(other.getSslType())) && (Arrays.equals(this.getSslCipher(), other.getSslCipher())) && (Arrays.equals(this.getX509Issuer(), other.getX509Issuer())) && (Arrays.equals(this.getX509Subject(), other.getX509Subject())) && (this.getMaxQuestions() == null ? other.getMaxQuestions() == null : this.getMaxQuestions().equals(other.getMaxQuestions())) && (this.getMaxUpdates() == null ? other.getMaxUpdates() == null : this.getMaxUpdates().equals(other.getMaxUpdates())) && (this.getMaxConnections() == null ? other.getMaxConnections() == null : this.getMaxConnections().equals(other.getMaxConnections())) && (this.getMaxUserConnections() == null ? other.getMaxUserConnections() == null : this.getMaxUserConnections().equals(other.getMaxUserConnections())) && (this.getPlugin() == null ? other.getPlugin() == null : this.getPlugin().equals(other.getPlugin())) && (this.getAuthenticationString() == null ? other.getAuthenticationString() == null : this.getAuthenticationString().equals(other.getAuthenticationString())) && (this.getPasswordExpired() == null ? other.getPasswordExpired() == null : this.getPasswordExpired().equals(other.getPasswordExpired())) && (this.getPasswordLastChanged() == null ? other.getPasswordLastChanged() == null : this.getPasswordLastChanged().equals(other.getPasswordLastChanged())) && (this.getPasswordLifetime() == null ? other.getPasswordLifetime() == null : this.getPasswordLifetime().equals(other.getPasswordLifetime())) && (this.getAccountLocked() == null ? other.getAccountLocked() == null : this.getAccountLocked().equals(other.getAccountLocked()));
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((getHost() == null) ? 0 : getHost().hashCode());
		result = prime * result + ((getUser() == null) ? 0 : getUser().hashCode());
		result = prime * result + ((getSelectPriv() == null) ? 0 : getSelectPriv().hashCode());
		result = prime * result + ((getInsertPriv() == null) ? 0 : getInsertPriv().hashCode());
		result = prime * result + ((getUpdatePriv() == null) ? 0 : getUpdatePriv().hashCode());
		result = prime * result + ((getDeletePriv() == null) ? 0 : getDeletePriv().hashCode());
		result = prime * result + ((getCreatePriv() == null) ? 0 : getCreatePriv().hashCode());
		result = prime * result + ((getDropPriv() == null) ? 0 : getDropPriv().hashCode());
		result = prime * result + ((getReloadPriv() == null) ? 0 : getReloadPriv().hashCode());
		result = prime * result + ((getShutdownPriv() == null) ? 0 : getShutdownPriv().hashCode());
		result = prime * result + ((getProcessPriv() == null) ? 0 : getProcessPriv().hashCode());
		result = prime * result + ((getFilePriv() == null) ? 0 : getFilePriv().hashCode());
		result = prime * result + ((getGrantPriv() == null) ? 0 : getGrantPriv().hashCode());
		result = prime * result + ((getReferencesPriv() == null) ? 0 : getReferencesPriv().hashCode());
		result = prime * result + ((getIndexPriv() == null) ? 0 : getIndexPriv().hashCode());
		result = prime * result + ((getAlterPriv() == null) ? 0 : getAlterPriv().hashCode());
		result = prime * result + ((getShowDbPriv() == null) ? 0 : getShowDbPriv().hashCode());
		result = prime * result + ((getSuperPriv() == null) ? 0 : getSuperPriv().hashCode());
		result = prime * result + ((getCreateTmpTablePriv() == null) ? 0 : getCreateTmpTablePriv().hashCode());
		result = prime * result + ((getLockTablesPriv() == null) ? 0 : getLockTablesPriv().hashCode());
		result = prime * result + ((getExecutePriv() == null) ? 0 : getExecutePriv().hashCode());
		result = prime * result + ((getReplSlavePriv() == null) ? 0 : getReplSlavePriv().hashCode());
		result = prime * result + ((getReplClientPriv() == null) ? 0 : getReplClientPriv().hashCode());
		result = prime * result + ((getCreateViewPriv() == null) ? 0 : getCreateViewPriv().hashCode());
		result = prime * result + ((getShowViewPriv() == null) ? 0 : getShowViewPriv().hashCode());
		result = prime * result + ((getCreateRoutinePriv() == null) ? 0 : getCreateRoutinePriv().hashCode());
		result = prime * result + ((getAlterRoutinePriv() == null) ? 0 : getAlterRoutinePriv().hashCode());
		result = prime * result + ((getCreateUserPriv() == null) ? 0 : getCreateUserPriv().hashCode());
		result = prime * result + ((getEventPriv() == null) ? 0 : getEventPriv().hashCode());
		result = prime * result + ((getTriggerPriv() == null) ? 0 : getTriggerPriv().hashCode());
		result = prime * result + ((getCreateTablespacePriv() == null) ? 0 : getCreateTablespacePriv().hashCode());
		result = prime * result + ((getSslType() == null) ? 0 : getSslType().hashCode());
		result = prime * result + (Arrays.hashCode(getSslCipher()));
		result = prime * result + (Arrays.hashCode(getX509Issuer()));
		result = prime * result + (Arrays.hashCode(getX509Subject()));
		result = prime * result + ((getMaxQuestions() == null) ? 0 : getMaxQuestions().hashCode());
		result = prime * result + ((getMaxUpdates() == null) ? 0 : getMaxUpdates().hashCode());
		result = prime * result + ((getMaxConnections() == null) ? 0 : getMaxConnections().hashCode());
		result = prime * result + ((getMaxUserConnections() == null) ? 0 : getMaxUserConnections().hashCode());
		result = prime * result + ((getPlugin() == null) ? 0 : getPlugin().hashCode());
		result = prime * result + ((getAuthenticationString() == null) ? 0 : getAuthenticationString().hashCode());
		result = prime * result + ((getPasswordExpired() == null) ? 0 : getPasswordExpired().hashCode());
		result = prime * result + ((getPasswordLastChanged() == null) ? 0 : getPasswordLastChanged().hashCode());
		result = prime * result + ((getPasswordLifetime() == null) ? 0 : getPasswordLifetime().hashCode());
		result = prime * result + ((getAccountLocked() == null) ? 0 : getAccountLocked().hashCode());
		return result;
	}
}